Short:    GNU Emacs-20.3 V2.11 Intuit. 28bit-seg
Author:   Patched by bertw@knuut.de (Bert Winkelmann)
Uploader: bertw@knuut.de (Bert Winkelmann)
Version:  AmigaOS patchlevel 2.11
Type:     util/gnu
Requires: OS-v39 (for GUI), 8MB RAM, 68ec20, IxEmul library

This distribution holds version 20.3 of GNU Emacs, the extensible,
customizable, self-documenting real-time display editor.

 {Sorry about my bad English.  Note: for a list of improvements to the
 previous version, see the list at the end of this readme file}}

This Amiga port, like most IxEmul ports, is probably more close to its
baseline version than previous ports. Despite of this, it does have
also some of the Amiga features (ARexx, AppWindow, ASL).  The
Intuition based GUI is very similar to the X GUI.  You should be able
to use all GUI based Lisp applications without making any adaptions.

Normally you may want to use this program with Intuition, but you can
also use it on terminals via AUX:.  It's also possible to run it on X,
but you need a different configured programfile version for that.

Amiga related Features
======================

   AREXX port (not in X nor TTY-only versions)
   
   Intuition-GUI: multiple colors and font styles * multiple frames
   (Intuition windows) on one or more public screens (and invisible
   frames too) * vertical scroll bars * pens are not really obtained from
   system until first use in drawing. * Workbench iconify and drag'n'drop
   * clipboard support * pop-up menu (configurable, scroll-able, full
   keyboard control) * ASL file+font requester (used by "Amiga" menu) *
   provides most of old "amiga-" LISP-functions for compatibility with
   formerly Emacs-18 AmigaOS port (e.g. amiga-set-geometry) * 2 different
   modes for numeric keypad (NumLock) * provides Meta, Super and Hyper
   modifier keys
   
   Console: amiga-set-font implements font changing on CON:
   
   TTY: you can open a sub shell if your shell implements no job-control.

Version Numbers
===============

There are two version numbers.  One ist the baseline version number
(20.3).  Note that the diff archives contains currently patches for
two different baseline versions (19.34 and 20.3).

The other number specifies the version of my patches (like V2.11).
The current version is V2.11.  The version for the binary main archive
may be different (like V2.9).  It will be updated automatically if you
install any of the program archive on top it (they contain not only
the program files but also some updates to the main archive too (delta
update)).


Parts of this Distribution
==========================

There exists both a source and binary distribution.

Source Code
-----------

The source distribution comes in two different forms: a small diff
archive and a big complete archive.

  ------------------  ----------------------------------------
  em203dif.lha       - GNU Emacs 20.3 V2.11 diffs
  em203src.lha       - GNU Emacs 20.3 V2.10 source
  ------------------  ----------------------------------------

Note: The LhA archives may contain "tar.gz" or even "tar.bz2"
archives.  You will need a "tar" unarchiver (tar/untar) and the
correct decompression program (gzip for .gz; bzip2 for .bz2).  I will
limit the use of bzip2 to the really big (and rather uninteresting)
source archive.

Note: If you want to compile Emacs yourself and if you have acces to
the original baseline sources, you need only the diffs archive.  All
what you have to do ist invoking "sh install.sh 20.3 src/emacs-20.3"
to patch the source.  It's tested.  Otherwise, if you want to use the
already patched source archive coming with this distribution (V2.10),
you also should have the diff archive to update the source tree to the
newest patchlevel (V2.11).


Binaries
--------

The binary distribution consist of a single main archive and some
Emacs program files (in different flavors).  Note: The installation
should go into the "gg:" directory.  This could be a multi-assign too.
Emacs depends on this.  Please read the README* file in the program
archive to learn how to make the dumpfile (it's very easy now).

Note: Install the main archive *before* the program archive.
Otherwise the newer files in the program archive will be overwritten
by older versions from the main archive.
                    
  ------------------  ----------------------------------------
  em203bin.lha      - GNU Emacs 20.3 V2.11 installed in gg: 

  em203i0.lha       - GNU Emacs 20.3 V2.11 Intuition 28bit 
  em203i1.lha       - GNU Emacs 20.3 V2.11 Intuit. 28bit-seg
  em203i3.lha       - GNU Emacs 20.3 V2.11 Intuition 32bit
  ------------------  ----------------------------------------

Optional Archives:

 Program Files
  ------------------  ----------------------------------------
  em203x0.lha        - GNU Emacs 20.3 V2.11 X 28bit 
  em203x1.lha        - GNU Emacs 20.3 V2.11 X 28bit-seg
  em203x3.lha        - GNU Emacs 20.3 V2.11 X 32bit
  em203t0.lha        - GNU Emacs 20.3 V2.11 CON/AUX 28bit 
  em203t1.lhaa       - GNU Emacs 20.3 V2.11 CON/AUX 28bit-seg
  em203t3.lha        - GNU Emacs 20.3 V2.11 CON/AUX 32bit
  ------------------  ----------------------------------------

 ELisp Source Files Missing in em203bin.lha (needed for debugging
 and educational purposes only)

  ------------------  ----------------------------------------
  em203els.lha      - GNU Emacs 20.3 V2.10 ELisp sources
  ------------------  ----------------------------------------

What does 28, 28s and 32 bit mean?
----------------------------------

First you have to use "ShowConfig" to learn about the address spaces
where your machine has its FastMem installed.  If your machine does
not have RAM above 28bit, then everything is fine.  Just use the
"28bit" version, which is faster than the others:

normal/28 - RAM inside 28bit address range is usable.  It runs on
	    machines having RAM upto $0fffffff only.  A4000 and A1200
	    with Blizzard-A1230-I (not IV!) can run this program.

If your machine has RAM above 28bit you have to use one of the
following program versions which implements segmented RAM.  Note that
the version "32" will work on all machines but runs slower than the
"28s" version.  If you are unsure, just try the normal version first.
It will give you an error message if it cannot run on your machine.
Then try the 28s program and at last the 32bit program.


seg1/28s - RAM inside of one 28bit segment is usable.  It runs on
	   machines with FastMem above 28bit RAM in range
	   $x0000000..$xfffffff (i.e. the high nibble (x) must be
	   the same for all usable RAM).  A1200 with Blizzard-A1230-IV
	   can run this program.  Note: You don't have to tell Emacs
	   the value of the nibble, it's automatic of course.  But if
	   you have the source, you could compile a slightly faster
	   program using the #define AMAL_CONST_SEGMENT (e.g. make
	   CPPFLAGS+="-DAMAL_CONST_SEGMENT=0x60000000").

seg3/32 - RAM inside 8 independent 25bit segments usable. It runs on
          machines with both FastMem above and below 28bit.  (allows
          using of mixed RAM (Chip, Z2, Z3) not being in a common
          28bit block (i.e. with a different high nibble)).



Here comes additional info taken from my WWW page.
===========================================================================
   
   DESCRIPTION
   
   This project is about running GNU Emacs 19+20 on AmigaOS using the
   IxEmul library and GCC. It supports both the native AmigaOS window
   system "Intuiton" (>=V39) and X (and of course plain terminals too).
   
   The Intuition GUI implements almost all features of the X GUI except
   16bit fonts. You will also get Drag'n'Drop and an ARexx port.
   
   I have tried to make it so compatible as possbile to prevent you and
   me from changing any LISP packages. You should never have to change
   path syntax, font names, window system names. On the other hand, you
   can use ASL file and font requesters via the Amiga menu item. You can
   use AmigaDOS path syntax in some LISP commands too.
   
   The current patch-set supports the following baseline versions:
   GNU-Emacs-19.34b, 20.2, 20.2.92, 20.2.97, 20.3.
   
   
   SYSTEM REQUIREMENTS
   
   For using intuition: graphics.library-39 or better is required. (part
   of AmigaOS V39)
   
   General: A lot of RAM or virtual memory. A fast CPU is recommended. I
   have only an 68030-40MHz which is sometimes too slow even for parts of
   some standard ELISP packages.
   
   Note: Different ELISP packages may have very different RAM-/CPU-usage.
   
   LIBRARIES
   
   ixemul.library - the free UNIX kernel emulation + standard C library
   (incl. socket interface)
   
   If you want to configure and build Emacs for running on X window
   system, you will need the required X libraries and headers. A free
   X11R6 package is part of ADE/GG. There are other X window ports, but I
   have tested only ADE-X.
   
   NO PROBLEMS
   
   I used Emacs (20.2) mainly as programming environment, to write HTML
   and as editor for an external News+Mail-reader.
   
   I have used the following packages very often:
   
   c/c++-mode (indenting slow since 20.2) * font-lock/fast-lock (in 20.2
   sometimes you have to restart it because of a not complete fixed bug)
   * ETags * sh-mode * Info * Ediff * GUD (for programs using signal
   handlers (like Emacs itself) it's better to use gdb on console because
   there are no process-groups and Emacs handle/blocks some signals). *
   Emacs-Server * HTML-mode * ELISP modes and tools like debuggers and
   profilers. * Occur, IMenu, HS
   
   I have tested, but don't use the following packages:
   
   AucTeX (seems to work OK but I don't need it currently) * GNus (works,
   but is very slow on my machine) * W3 (works, but is very slow) *
   Ange-FTP (needs PTYs, you have to install+run Devs:fifo.handler).
   
   BUILT-IN WORKAROUNDS
   
   HOME variable is translated from AmigaOS to UNIX syntax at startup of
   Emacs, EmacsServer, EmacsClient. That means all subprocesses inherit
   the UNIX syntax version. (prevents problems by using $HOME as kind of
   ID on sockets).
   
   The home directory read from password files will be translated to UNIX
   syntax.
   
   A built-in default TERMCAP entry for TERM=amiga exists.
   
   Note: Internally Emacs uses UNIX-path syntax (to gain maximal
   compatibility with ELISP packages written for UNIX). I changed a few
   user-interface functions to accept both UNIX- and AmigaOS syntax. This
   works very well.
   
   The Intuition code inside of Emacs implements serveral X functions
   (limited to the needs of Emacs). It even fakes the `window-system'
   variable to X. Therefore, any ELisp package written for X should work
   without any changes. To check for running on Intuition, you have to
   test for (boundp 'amiga-i-windows).
   
   Console: Because `^C' is always handled by console (SIGBREAK_C) there
   is a key-translation from C-z to C-c (located in
   "lisp/term/amiga.el").
   
   FEATURES
   
   AmigaOS specific: Bidirectional AREXX port as interface to ELISP
   language * Two different file-system path syntaxes.
   
   Intuition-GUI: multiple colors and font styles * multiple frames
   (Intuition windows) on one or more public screens (and invisible
   frames too) * vertical scroll bars * pens are not really obtained from
   system until first use in drawing. * Workbench iconify and drag'n'drop
   * clipboard support * pop-up menu (configurable, scroll-able, full
   keyboard control) * ASL file+font requester (used by "Amiga" menu) *
   provides most of old "amiga-" LISP-functions for compatibility with
   formerly Emacs-18 AmigaOS port (e.g. amiga-set-geometry) * 2 different
   modes for numeric keypad (NumLock) * provides Meta, Super and Hyper
   modifier keys
   
   console: amiga-set-font implements font changing on CON:
   
   TTY: you can open a sub shell if your shell implements no job-control.
   
   MULE on Emacs-20: I merged in relevant parts of MBSK to allow
   switching it (MBSK) on/off on different window systems. To enable MBSK
   it's needed to pass the parameter "no-mule" to "lisp/loadup.el" at
   dump-time. The Makefile do handle this automatically (using the
   variable LOADUP_ARRGS): MBSK is per default enabled for Intuition-GUI,
   but disabled for X.
   
   Example: To always disable MBSK compile with
   $ make "LOADUP_ARGS=" ...
   To always enable it use
   $ make "LOADUP_ARGS=no-mule" ...
   
   BUGS
   
   Intuition: Italic font style is broken (it's nearly unusable for
   editing) * Currently no gad-tools menu (we use the pop up menu by the
   menu-bar too) * No 16 bit fonts. Use ADE-X to have a full working
   MULE. * No working multi keyboard * Never tried a 2 button mouse, but
   I guess there are ELISP-packages handling that problem already
   
   MultiUser: I have running MultiUser (mufs) on my system. This causes
   the root directory of volume in RAM: having access bits
   "700","drwx------". You cannot create files and call DirEd in that
   directory. But you can/should change at least the access bits of
   sub-directories in RAM: like this:
   $ chmod 777 /ram/T /ram/ENV /ram/ClipBoards.
   
   TeX: IxEmul has a problem to pass `\' as part of arguments to all
   non-ixemul binaries. This is a problem when using the TeX program from
   PasTeX on Meeting-Pearls-CDROM. There is a workaround in directory
   `amigaos/' using the small non-ixemul command-shell from
   Emacs-18.59-amigaos. Another problem: killing a non-ixemul TeX binary
   may crash the system. A ixemul port of TeX may work better. Such one
   is part of ADE/GG.
   
   Soft-Links: The clash detection uses soft-links since Emacs-20.2. I
   have no problems with this so far. In general, for editing files
   visited over a soft-link you may need to use:
   (setq find-file-visit-truename t)
   in your ~/.emacs file. This may not required if you use the latest
   BETA-ffs (http://www.amiga.de). Unluckily, as it seems, there is no
   MuliUser patch for that FFS.
   
   HISTORY
     * August '98: Emacs-20.3
     * June '98: Emacs-19.34b updated. New distribution format (common
       amiga specific files in base distributions and patches in updates;
       bug-fix-patches in base-distributions; version patches for
       baseline files in base distributions and updates)
     * May '98: X window tested (ADE-X11R6.3 running on A1200-030/40)
     * March '98: Clipboard and AREXX
     * January '98: Emacs-20.2
     * Winter '97: Emacs-19.34b
     * Autumn '97: Emacs-19.29 (Intuition)
     * Summer '97: Emacs-19.28 (Tty only)
===========================================================================

Version history:

V2.11 from 11-Apr-99
--------------------

   * Fix: Filename completion was partially broken on 3rd party file
     systems (no inodes on topmost directory).

   * Fix: Possible crashing when running 28s program on machines with
     memory above 28bit in out of memory situations.

   * Fix: Avoiding allocating 24bit RAM (could be slow chip memory)
     for "interval" blocks was not working very well.  Note that it
     does not work for machines having memory on addresses with
     topmost nibble 3 or 5 (i.e. addresses like $3xxxxxxx or
     $5xxxxxxx).  If you have such a machine, then you should tell me
     about it, so I can change it.  Please send me your ShowConfig
     output.  Currently I know only about machines having 0, 4 or 6 as
     high nibble.  If you have a machine using another value, you may
     tell me about it too.  This would prevent me from using that
     value in future releases.


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
   15592   15592  0.0% 15-Apr-99 01:27:52  em203i1.readme
  553183  553183  0.0% 14-Apr-99 23:57:36  emacs-20.3-gg020i28s.tar.gz
-------- ------- ----- --------- --------
  568775  568775  0.0% 15-Apr-99 16:03:30   2 files
